| Version | ID |
|---|---|
| 1.13.2 | 0x30 |
| 1.14.4 | 0x33 |
| 1.15.2 | 0x34 |
| Packet ID | State | Bound To | Field Name | Field Type | Notes | |||||
|---|---|---|---|---|---|---|---|---|---|---|
| 0x34 | Play | Client | Action | VarInt | Determines the rest of the Player format after the UUID | |||||
| Number Of Players | VarInt | Number of elements in the following array | ||||||||
| Player | UUID | Array | UUID | |||||||
| Action | Field Name | |||||||||
| 0: add player | Name | String (16) | ||||||||
| Number Of Properties | VarInt | Number of elements in the following array | ||||||||
| Property | Name | Array | String (32767) | |||||||
| Value | String (32767) | |||||||||
| Is Signed | Boolean | |||||||||
| Signature | Optional String (32767) | Only if Is Signed is true | ||||||||
| Gamemode | VarInt | |||||||||
| Ping | VarInt | Measured in milliseconds | ||||||||
| Has Display Name | Boolean | |||||||||
| Display Name | Optional Chat | Only if Has Display Name is true | ||||||||
| 1: update gamemode | Gamemode | VarInt | ||||||||
| 2: update latency | Ping | VarInt | Measured in milliseconds | |||||||
| 3: update display name | Has Display Name | Boolean | ||||||||
| Display Name | Optional Chat | Only send if Has Display Name is true | ||||||||
| 4: remove player | no fields | no fields | ||||||||
| Packet ID | State | Bound To | Field Name | Field Type | Notes | |||||
|---|---|---|---|---|---|---|---|---|---|---|
| 0x33 | Play | Client | Action | VarInt | Determines the rest of the Player format after the UUID | |||||
| Number Of Players | VarInt | Number of elements in the following array | ||||||||
| Player | UUID | Array | UUID | |||||||
| Action | Field Name | |||||||||
| 0: add player | Name | String (16) | ||||||||
| Number Of Properties | VarInt | Number of elements in the following array | ||||||||
| Property | Name | Array | String (32767) | |||||||
| Value | String (32767) | |||||||||
| Is Signed | Boolean | |||||||||
| Signature | Optional String (32767) | Only if Is Signed is true | ||||||||
| Gamemode | VarInt | |||||||||
| Ping | VarInt | Measured in milliseconds | ||||||||
| Has Display Name | Boolean | |||||||||
| Display Name | Optional Chat | Only if Has Display Name is true | ||||||||
| 1: update gamemode | Gamemode | VarInt | ||||||||
| 2: update latency | Ping | VarInt | Measured in milliseconds | |||||||
| 3: update display name | Has Display Name | Boolean | ||||||||
| Display Name | Optional Chat | Only send if Has Display Name is true | ||||||||
| 4: remove player | no fields | no fields | ||||||||
| Packet ID | State | Bound To | Field Name | Field Type | Notes | |||||
|---|---|---|---|---|---|---|---|---|---|---|
| 0x30 | Play | Client | Action | VarInt | Determines the rest of the Player format after the UUID | |||||
| Number Of Players | VarInt | Number of elements in the following array | ||||||||
| Player | UUID | Array | UUID | |||||||
| Action | Field Name | |||||||||
| 0: add player | Name | String (16) | ||||||||
| Number Of Properties | VarInt | Number of elements in the following array | ||||||||
| Property | Name | Array | String (32767) | |||||||
| Value | String (32767) | |||||||||
| Is Signed | Boolean | |||||||||
| Signature | Optional String (32767) | Only if Is Signed is true | ||||||||
| Gamemode | VarInt | |||||||||
| Ping | VarInt | Measured in milliseconds | ||||||||
| Has Display Name | Boolean | |||||||||
| Display Name | Optional Chat | Only if Has Display Name is true | ||||||||
| 1: update gamemode | Gamemode | VarInt | ||||||||
| 2: update latency | Ping | VarInt | Measured in milliseconds | |||||||
| 3: update display name | Has Display Name | Boolean | ||||||||
| Display Name | Optional Chat | Only send if Has Display Name is true | ||||||||
| 4: remove player | no fields | no fields | ||||||||